1. Field of Invention
This invention relates to a pointing device providing an interface between a user and a computer for the input of two- and three-dimensional spatial coordinates, and to a method of measuring rotations from the sensing ball and transforming them into rotations about standard Cartesian coordinates.
2. Background of the Invention
Tracking devices such as trackballs and mice are used in modern computer systems for a variety of purposes. A user can use them to tell a computer to move a cursor on a computer display. The ability to control a cursor is an integral part of the graphical user interfaces (GUIs) common in modern window-based computing systems.
Trackballs are also used to input spatial translational and rotational coordinates into computer systems. This is commonly done in drafting and computer-aided-design packages. In these applications packages, the motion of the pointing device is used to define corresponding locations in a coordinate system in the applications package.
The physical design of a typical trackball is described in U.S. Pat. No. 5,122,654 to Kanas Koh and Josef Bismanovsky, issued on Jun. 16, 1992. In the description of a trackballs provided below, all rotations and orientations are with respect to a sphere coextensive with the surface of a ball and fixed with respect to a trackball housing.
A ball is enclosed within a housing. A portion of one hemisphere of the ball is exposed to be rolled by a user's hand or finger(s). Two sensors mounted on a horizontal circuit board sense the ball rotation and generate signals that correspond to the rotation and communicate them to a computer. Each sensor contains a cylindrical roller which contacts the ball in a small area about a nominal, centralized contact point. The rollers' axes are mutually orthogonal and parallel to the circuit board. The rollers contact the sphere in the bottom hemisphere (below the equator), and roll along great circles of the sphere orthogonal to the equator (meridians). These typical circuit board mounted sensors measure ball rotations about axes parallel to the circuit board but do not measure rotation about the axis perpendicular to the circuit board.
Some cursor control devices have optically tracked the translation with regular, uniform patterns based on Cartesian (x-y) coordinates on flat mouse pads. However, Cartesian or spherical coordinates do not provide a regular, uniform pattern on a sphere. As a result, optical measurements on the spherical trackballs resort to tracking of random patterns on the ball surface. There is a need for a regular, well-defined pattern on a spherical to enable accurate, repeatable measurement of ball rotations in cursor control devices such as mice and trackballs.
It is usually desirable in a mouse or trackball to have as large a ball as possible. A larger ball in a mouse can smoothly roll over dirt or surface irregularities which may cause a smaller ball to become stuck. A larger ball in a trackball gives more control to the user. However, the location of the optical pick-up element can restrict the size of the ball. There is therefore a need for a method to maximize the diameter of the ball with respect to the space available for the mouse or trackball.
Trackballs are preferred over mice in portable computers because they can be built into the portable computer and need not translate relative to any fixed surface. Trackballs do not require the open flat surface over which a mouse must move.
Often, an undesirably bulky and protruding trackball mount is the best that manufacturers can achieve and illustrates the difficulties that have been encountered in locating the trackball in portable computers. In other designs the trackball must be detached or retracted within the computer for transport. In typical transportable trackballs, a retainer ring (which must be removable for cleaning the ball) leaves less than one half (one hemisphere) of the ball surface exposed. Furthermore, size constraints imposed in compact portable computer designs limit the size of the ball itself. The limited exposed area of these small balls limits accuracy and results in poor ergonomics.
In the current art, the specification of three-dimensional (3-D) coordinates, and, in particular, the specification of 3-D rotational coordinates, can be extremely difficult. Several approaches have been developed, each of which has inherent problems.
In a first approach, a three-axis trackball is described in the article "Tablet-based Valuators that Provide One, Two, or Three Degrees of Freedom", by K. B. Evans, et. al. in Computer Graphics, V 15, No. 3 (Aug. 1, 1981) at p. 95. This 3-D trackball has three sensors which convert ball rotations about three axes into electrical signals corresponding to three independent coordinates, in contrast to a 2-D trackball, which has two sensors which convert ball rotations about two axes into electrical signals corresponding to two independent coordinates. This 3-D trackball is simply a 2-D trackball to which a third sensor has been added. The authors remark that the device is awkward to use because rotation about the z-axis requires one to grip the ball with several fingers in order twist it.
In the second approach, a sequence of signals from a 2-D input device are used to simulate a signal from a virtual 3-D trackball. An example of such a method is described in U.S. Pat. No. 5,019,809 to Michael Chen (May 28,1991). Using this technique, the user must imagine a spherical surface on a circle appearing on the screen and manipulate this virtual trackball with a physical trackball or mouse. The additional layer of abstraction separates the user from the sense of directly manipulating the object and compromises accuracy. The patent remarks that this is necessitated by the fact that a physical 3-D trackball cannot be made with the entire top hemisphere of the ball exposed because of the requirement that a sensor be on the equator. Other similar techniques require multiple inputs from the 2-D input device. The first input defines a reference point or rotation axis. The next input defines the rotation with respect to the first input. Several iterations of the two steps are sometimes required. This approach can be esoteric and cumbersome even for design engineers, and is generally not attempted by naive computer users.
A third approach is to supplement the two inputs from a standard 2-D input device with a third input from an auxiliary electromechanical transducer. U.S. Pat. No. 4,933,670 to Nicholas C. Wislocki (Jun. 12, 1990) describes a 2-D trackball supplemented by inputs from a third, auxiliary transducer actuated by a rotating ring on the top of the ball. This auxiliary ring considerably increases the mechanical complexity of the device and obstructs a portion of the ball surface. U.S. Pat. No. 5,132,672 to Michael R. Clark (Jul. 21, 1992) describes a 2-D trackball supplemented by inputs from a third auxiliary transducer actuated by a conveyor belt or a cylindrical roller. Again, the auxiliary transducer adds considerable size and complexity to the device. Furthermore, an auxiliary transducer artificially distinguishes the third component of input from the other two. Imposing this distinction upon otherwise comparable components of rotation or translation can be confusing and counter-intuitive to the user of the device.
A fourth approach is to use force and torque inputs rather than rotations. Tracking devices measuring force and torque are described in U.S. Pat. No. 4,811,608 to John A. Hilton, issued (Mar. 14, 1989) and in the literature describing the "Spaceball" input device made by Spaceball Technologies, Inc.
The use of torque and force quantities introduces new barriers to the intuitive and natural input of data. For example, a standard trackball effects rotations on an object in the computer by directly rotating the ball. It effects translations on an object by directly translating the surface of the ball. (Translating the surface is in fact equivalent to rotating the ball, but it can be useful to think in terms of translations when translations are being effected.) In contrast, the same rotations and translations must be effected indirectly through forces and torques in the Spaceball. These difficulties become even more apparent when considering the reversal of such a motion. To reverse a motion using a trackball, the velocity-time integral (distance travelled) must be reversed. This merely requires a user to bring his thumb back to its initial position, which can be done easily and accurately. In contrast, to reverse a movement using the force-based tracking device, the force-time integral (impulse) must be reversed. In a torque-based tracking device, the torque-time integral (rotational impulse) must be reversed. Integrating these quantities (which can have two or three components) with respect to time is neither intuitive nor easily quantifiable. Thus, force- and torque-based tracking devices present obstacles to the intuitive, accurate, and reproducible input of data.
The article "Tablet-based Valuators that Provide One, Two, or Three Degrees of Freedom" by K. B. Evans, et. al. in Computer Graphics, V 15, No. 3 (Aug. 1, 1981) describes the need for "kinesthetic correspondence", that is, a direct and natural relationship between the hand motions and the corresponding rotations about the three axes. The current invention provides such a direct and extremely natural correspondence between the hand rotating a ball and the rotations about the three axes, and therefore fulfills this long-felt need.